import java.util.HashMap;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: Lily
 * Date: 2024-09-21
 * Time: 11:42
 */
public class subarrays_DivByK {
    public int subarraysDivByK(int[] nums, int k) {
        int ret=0;
        HashMap<Integer,Integer> hash=new HashMap<>();
        hash.put(0,1);
        int sum=0;
        for (int x : nums){
            sum+=x;
            //如果 (a - b) % n == 0 ，那么我们可以得到⼀个结论： a % n == b % n 。
            //前面的前缀和的余数等于后面的前缀
            //余数大于0
            int r= sum%k;
            ret+=hash.getOrDefault(r,0);
            hash.put(r, hash.getOrDefault(r, 0) + 1);
        }
        return  ret;
    }
}
